Digitālais klaidonis

Mēs dzīvojam, kamēr lidojam

Managed DirectX un XNA Framework

Brīvdienas pagāja ražīgi, bet esmu noguris kā suns.
Nezinu, vai tas kādam būs interesanti, bet varu uzrakstīt par Microsoft XNA Framework.

XNA Framework - jauna Microsoft platforma spēļu izstrādei, kuras pamatā ir pārvaldītais (managed) kods un Microsoft .NET Framework 2.0. Tā ļauj ļoti viegli izveidot spēles spēļu konsolei XBox-360 un Windows. Pagaidām entuziastiem un nelieliem izstrādātājiem ir pieejama Game Developer Studio Express Edition vides otrā beta versija, un tai līdzi nāk paša Framework'a beta.

XNA ir aicināta aizstāt esošo Managed Direct X (kurš turpmāk netiks attīstīts) un nākotnē kļūt par galveno platformu vidēji prasīgu spēļu izstrādātājiem. Iespējams, XNA derēs arī tehnoloģiski advancētām spēlēm, taču jautājums par veiktspēju vēl nav līdz galam skaidrs.

Tātad, sestdien es pārcēlu savu daudzcietušo spēli uz XNA. Kas tad XNA ir mainījies, salīdzinot ar Managed DirectX?

Klasiskā labā koordinātu sistēma no matemātikas un fizikas mācību grāmatām datoru kreisās sistēmas vietā. Tas ir labi iesācējiem un kopumā sapratnei, bet slikti esošajām datoru mācību grāmatām par 3D un esošajiem MDX projektiem, kas ir jāpārceļ uz XNA.

Tālāk: ir kļuvis vēl vienkāršāk izveidot jaunu spēli, jo XNA ir iebūvēta gatava Game klase. Pietiek no tās mantot, un uzreiz iegūstat daudz noderīgas funkcionalitātes.

Pats par sevi saprotams, tagad spēles ir viegli padarīt par starpplatformu, bet Game Developer Studio Express nedrīkst izmantot komerciālām spēlēm priekš X-Box 360. Tam nāksies iegādāties Professional versiju, kura parādīsies vasarā.

No mīnusiem - XNA pagaidām nav nekāda GUI un nekādu teksta izvades rīku.

Un pēdējais - XNA tagad ir neliela bibliotēka 2 MB apjomā, pretstatā idiotiskajai Managed Direct X pieejai, kad vajadzēja uzstādīt speciālu DirectX versiju, kura iekļāva Managed daļu. Tas ļoti priecē.

Tiesa, ārkārtīgi apbēdina fakts, ka manas sīkās divdimensiju spēles darbībai būs nepieciešams:
1)Uzstādīts .NET Framework 2.0
2)Uzstādīta jaunākā DirectX versija (tieši jaunākā)
3)Uzstādīts XNA Framework
4)Vairāk nekā divsimt! megabaitu operatīvās atmiņas. Šausmas, zinu. Ceru, ka tas vēl mainīsies.
5)Videokarte ar Shaders 2.0 atbalstu (to vēl vajag pārbaudīt, iespējams, ka arī nevajadzēs)